This invention relates to automatic visual inspection systems, and more particularly to systems for inspecting printed circuit boards, hybrid boards, and integrated circuits.
In its simples form, a printed circuit board or panel comprises a non-conductive substrate on one or both surfaces of which are deposited conduit tracks or lines in a pattern dictated by the design of the electronic equipment supported by the board. More complex boards are constructed by laminating a number of single panels into a composite or multi-layered board; and the use of the latter has increased dramatically in recent years and an effort to conserve space and weight.
As component size has shrunk, component density on boards has increased with the result that line size and spacing have decreased over the years. Because of the xe2x80x9cfine geometryxe2x80x9d of modern boards, variations in line width and spacing have become more critical to proper operation of the boards. That is to say, minor variation in line thickness or spacing have a much greater chance to adversely affect performance of the printed circuit board. As a consequence, visual inspection, the conventional approach to quality control, has employed visual aids, such as magnifiers or microscopes, to detect defects in a board during its manufacturer. Such defects would include line width and spacing, pad position relative to hole location, etc. Unfortunately, visual inspection is a time consuming, tedious task that causes operator fatigue and consequential reduction in consistency and reliability of inspection, as well as throughput.
Because multi-layered boards cannot be tested electrically before lamination, visual inspection of the component panels of a multi-layered board before lamination is critical. A flaw in a single layer of an assembled board can result in scrapping of the entire board, or involve costly, and time consuming rework. Thus, as board complexity and component density and production requirements have increased, automation of manufacturing processes has been undertaken. However, a larger and larger fraction of the cost of producing boards lies in the inspection of the boards during various stages of manufacture.
Automatic visual inspection techniques have been developed in response to industry needs to more quickly, accumulately and consistently inspect the printed circuit boards. Conventional systems include an electro-optical sub-system that intensely illuminates a board being inspected along a narrow strip perpendicular to the linear displacement of the board through the system, and a solid state camera that converts the brightness of each elemental area of the illuminated strip, termed a pixel, to a number representative of such brightness; and the number is stored in a digital memory. Scanning of the entire board is achieved by moving the board relative to the camera. The result is a grey scale image of the board, or part of the board stored in memory. A relatively small number in a cell of the memory represents a relatively dark region of the object (i.e., the substrate), and a relatively large number represents a brighter portion of the object, (i.e., a conductive line).
The contents of the memory are processed for the purpose of determining the location of transitions between bright and dark regions of the object. Such transitions represent the edges of lines and the processing of the data in the digital memory is carried out so as to produce what is termed a binary bit map of the object which is a map of the printed circuit board in terms of ZERO""s and ONE""s, where the ONE""s trace the lines on the printed circuit board, and the ZERO""s represent the substrate. Line width and spacing between lines can then be carried out by analyzing the binary map.
The time required to scan a given board, given a camera with a predetermined data processing rate, typically 10-15 MHz, will depend on the resolution desired. For example, a typical camera with an array of 2048 photodiodes imaging a board is capable of scanning a one inch swarth of the board in each pass if a resolution of xc2xd mil is required. At 0.5 mil resolution, a swath one inch wide is composed of 96 million pixels. Assuming camera speed of 10 MHz, about 10 seconds would be required for completing one pass during which data from one swath would be acquired. If the board were 18 inches wide, then at least 18 passes would be required to complete the scan of the board. More than 18 passes is required, however, to complete a scan of the board because an overlap of the passes is required to insure adequately covering the xe2x80x9cseamsxe2x80x9d between adjacent passes. Combined with overhead time required, e.g., the time required to reposition the camera from swath to swath, data acquisition time becomes unacceptably large under the conditions outlined above.
The basic problems with any automatic visual inspection system can be summarized in terms of speed of data acquisition, amount of light to illuminate the board, and the depth of field of the optical system. Concomitant with increased requirements for reducing pixel size (i.e., increasing resolution) is an increase in the amount of light that must be supplied to a pixel to maintain the rate of data acquisition. Physical constraints limit the amount of light that can be concentrated on the printed circuit boards so that decreasing the pixel size to increase resolution and detection variations in line width or spacing of xe2x80x9cfine geometryxe2x80x9d boards, actually slows the rate of data acquisition. Finally, decreasing pixel size, as resolution is increased, is accompanied by a reduction in the depth of field which adversely affects the accuracy of the acquired data from board to board.
It is therefore an object of the present invention to provide a new and improved automatic visual inspection system which is capable of acquiring data faster than conventional automatic visual inspection systems, and/or reducing the amount of illumination required for the board, and increasing the depth of field.
It is a further object of the present invention to provide a new and improved automatic visual inspection system which is capable of accurately interpreting information when the object being inspected has regions of different contrast, precision of focus, and other surface conditions.
According to the present invention, a binary map of an object having edges is produced by first producing a digital grey scale image of the object with a given resolution, and processing the grey scale image to produce a binary map of the object at a resolution greater than said given resolution. If the ultimate resolution required is, for example, one mil (0.001 inches), then, the resolution of the digital grey scale image can be considerably less than one mil, and may be, for example, three mils. The larger than final pixel size involved in acquiring data from an object permits objects to be scanned faster, and either reduces the amount of light required for illuminating the objects or permits the same amount of light to be used thus decreasing the effect on accuracy of noise due to statistical variations in the amount of light. Finally, increasing the pixel size during data acquisition improves the depth of field and renders the system less sensitive to variations in the thickness of the boards being tested.
Processing of the grey scale image includes the step of convolving the 2-dimensional digital grey scale image with a filter function related to the second derivative of a Gaussian function forming a 2-dimensional convolved image having signed values. The location of an edge in the object is achieved by finding zero crossings between adjacent oppositely signed values. Preferably, the zero crossings are achieved by an interpolation process that produces a binary bit map of the object at a resolution greater than the resolution of the grey scale image. The nature of the Gaussian function whose second derivative is used in the convolution with the grey scale image, namely is standard deviation, is empirically selected in accordance with system noise and the pattern of the traces on the printed circuit board such that the resulting bit map conforms as closely as desired to the lines on the printed circuit board.
The convolution can be performed with a difference-of-two-Gaussians, one positive and one negative. It may be achieved by carrying out a one-dimensional convolution of successive lines of the grey scale image to form a one-dimensional convolved image, and then carrying out an orthogonal one-dimensional convolution of successive lines of the one-dimensional convolved image to form a two-dimensional convolved image. Each one-dimensional convolved image may be formed by multiple convolutions with a boxcar function.
Detection of the presence of lines less than predetermined minimum width can be accomplished, independently of the attitude of the lines in the bit map by superimposing on an edge of a line, a quadrant of a circle whose radius is the minimum line thickness. By ANDing he contents of pixels in the bit map with ONE""s in the corresponding pixels in the superposed quadrant the production of a ZERO indicates a line width less the predetermined width. A similar approach can be taken to detect line spacings less than a predetermined minimum. One quadrant is used for lines and spaces whose are oriented on the board lies between 0xc2x0 and 90xc2x0, and another quadrant is used for orientations between 90xc2x0 and 180xc2x0.
The processing of the grey scale image by convolving with the filter function of the present invention produces a binary map of the object in terms of transitions between brighter and dimmer elements in the object. To complete the map, the non-transition pixels must be assigned binary values that match the nature of the homologous pixels in the object. That is to say, all of the pixels that define traces should have the same binary value, and all of the pixels that define the substrate have the opposite binary value.
The present invention utilizes a threshold function in establishing an attribute of each pixel in the grey scale object. Such attribute assists in the assignment of binary values to the pixels in the binary map of the object. In one aspect of the invention, the threshold function is a constant function of grey level and is location independent, and in another aspect of the invention, the threshold function is a non-constant function of grey level and is location dependent.